package sysRecomd;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import charger.Index_words;
import charger.Input;
import charger.Output;
import donnee.Revue;
import donnee.VecteurCreux;

public class Test {

	public static void main(String[] args) throws IOException {

		Output.getInstance().lireOut("mini.output");
		Index_words.getInstance().chargeMots("mini.index_words");
		Input.getInstance().lire("mini.input");

		List<Revue> revues = Input.getInstance().getRevues();

		// for (Revue r : revues)
		// System.out.println(r);

		Collections.shuffle(revues);
		int limit = (int) (revues.size() * 50. / 100.);
		List<Revue> ens_app = revues.subList(0, limit);
		List<Revue> ens_test = revues.subList(limit + 1, revues.size());

		// ClassificationRevue c = new SquareLoss();
		ClassificationRevue c = new HingeLoss();
		c.iterationApprentissage(ens_app, ens_test, 4, 0.01, 0.001, 10);

		double[] v = c.teta.getVecteur().clone();
		Arrays.sort(v);
		for (int i = 0; i < 50239; i++) {
			// System.out.println(v[i]);
			for (int j = 0; j < 50239; j++) {
				if (v[i] == c.teta.getVecteur()[j]) {
					System.out.println(Index_words.getInstance().getListe_mot().get(j));
				}

			}
		}

	}

}
